package com.ruoyi.common.core.page;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.HttpStatus;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author songjunwei
 * @date 2024-12-12 16:14
 */
@Data
public class TablePageDataInfo<T> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 总记录数
     */
    private long total;

    /**
     * 列表数据
     */
    private List<T> rows;

    /**
     * 消息状态码
     */
    private int code;

    /**
     * 消息内容
     */
    private String msg;


    /**
     * 返回成功数据
     *
     * @return 成功消息
     */
    public static <T> TablePageDataInfo<T> success(Page<T> page) {
        TablePageDataInfo<T> commentResult = new TablePageDataInfo<>();
        commentResult.setCode(HttpStatus.SUCCESS);
        commentResult.setMsg("查询成功");
        commentResult.setRows(page.getRecords());
        commentResult.setTotal(page.getTotal());
        return commentResult;
    }

}
